The use of network computing and storage has proliferated in recent years. The resources for network computing and storage are often provided by computing resource providers who leverage large-scale networks of computers, servers and storage drives to enable clients, including content providers, online merchants and the like, to host and execute a variety of applications and web services. Content providers and online merchants, who traditionally used on-site servers and storage equipment to host their websites and store and stream content to their customers, often forego on-site hosting and storage and turn to using the resources of the computing resource providers. The usage of network computing allows content providers and online merchants, among others, to efficiently and to adaptively satisfy their computing needs, whereby the computing and storage resources used by the content providers and online merchants are added or removed from a large pool provided by a computing resource provider as need and depending on their needs.
As network computing and other high performance, parallelized applications have increased in complexity, performance, and popularity, diagnosis of issues such as hardware and software bugs has become increasingly complex. Logging of events related to software and firmware execution is an important tool in diagnosing issues arising from faulty software and/or hardware, but in some instances, logging implementations may alter the operation of such software and hardware sufficiently that some or all of the issues being diagnosed cannot be replicated. Furthermore, logging implementations can dramatically slow down the execution of code, which can have deleterious effects on the availability and performance of, e.g., network computing and storage services provided to customers.